/**
 * @classDescription: Only for post entry page
 * @Author HoanVX
 * @version $Id: postEntry.js 61 2015-01-17 14:02:17Z voxuanhoan@gmail.com $
 */
/**
 * Call upload action
 */
function uploadFile($this) {

    //lay so cuoi cung
    imgNo = $this.getAttribute("id").substring(5,6);
    imgNoVal = $("input[name='imgNo" + imgNo + "']");
    $("#hdPosition").val(imgNo);

    formData = new FormData($('#tmpForm')[0]);
    formData.append('imgFile'+ imgNo, $this.files[0]);
    if (imgNoVal.length > 0)
	formData.append("imgNo", imgNoVal.val());
    $('#tmpForm').submit(ajaxSubmit(formData)).submit().trigger('reset');
}

/**
 * Xu ly ajax transmit data
 * @param formData
 * @returns {Boolean}
 */
function ajaxSubmit(formData) {
    jQuery.ajax({
	type : "POST",
	url : "/wp-admin/admin-ajax.php",
	enctype: 'multipart/form-data',
	data : formData,
	success : function(data) {
	    if (data.error != "")
		alert(data.error);
	    else if (data.success != "") {
		$("#postForm").append(addHidden("imgNo" + data.imgNo, data.url));
		$("img#img"+ data.imgNo).attr("src", data.url);
	    }
	    formData = null;
	},
	cache		: false,
        contentType	: false,
        processData	: false,
        dataType	: "json"
    });

    return false;
}

/**
 * Add hidden file tag
 * @param name
 * @param value
 * @returns
 */
function addHidden(name, value) {
    $element = $("input[name='" + name + "']");
    if ($element.length > 0 ) {
	$element.attr("value", value);
    } else {
	return $("<input />", {
	    "name": name,
	    "value": value,
	    "type": "hidden"
	});
    }
}

jQuery(document).ready(function($) {
	
    // Tu dong load pulldown huyen follow city if city dc chon
    var cityObj = $("#postLeft select[name='city']");
    var districtObj = $("#postLeft select[name='district']");
    if (cityObj.val() != "") {
	loadDistrictPulldown(cityObj.val(), districtObj);

	// re Set value which is choose before that
	// Delay 0.5s until wow.js done
	setTimeout(function() {
	    districtObj.val($("#hdnDistrict").val());
	}, 500);
	
    }

    // Change value of Dictrict follow city's value
    cityObj.change(function() {
	loadDistrictPulldown($(this).val(), districtObj);
    });

    // Validate information
    // Validation form
    $("#postForm").validate({
	rules: {
	    category: {
		required: true,
	    },
	    city: {
		required: true,
	    },
	    postTitle: {
		required: true,
		maxlength: 300,
	    },
	    postContent: {
		required: true,
		maxlength: 8000
	    },
	    postPurpose: {
		required: true,
		maxlength: 1
	    },
	    postEndDate: {
		date: true,
		maxlength: 10
	    },
	    price: {
		required: true,
		number: true,
		maxlength: 40
	    },
	    note: {
		maxlength: 1000
	    }
	},
	messages: {
	    category: {
		required: "Vui lòng chọn danh mục đăng tin",
	    },
	    city: {
		required: "Vui lòng chọn khu vực / thành phố bạn muốn đăng tin",
	    },
	    postTitle: {
		required: "Vui lòng nhập vào tiêu đề cho tin rao vặt",
		maxlength: "Bạn chỉ được nhập tối đa 300 ký tự cho tiêu đề này",
	    },
	    postContent: {
		required: "Vui lòng nhập vào nội dung cho tin rao vặt",
		maxlength: "Nội dung có độ dài tối đa là 8000 ký tự"
	    },
	    postPurpose: {
		required: "Vui lòng chọn mục đích đăng tin",
		maxlength: "Giá trị không hợp lệ"
	    },
	    postEndDate: {
		maxlength: "Vui lòng nhập tối đa 10 ký tự",
		date: "Vui lòng nhập ngày hợp lệ. Định dạng: dd/mm/yyyy"
	    },
	    price: {
		required: "Vui lòng nhập vào giá cho sản phẩm của bạn",
		maxlength: "Giá tiền có độ dài tối đa 40 ký tự",
		number: "Vui lòng nhập số cho giá tiền"
	    },
	    note: {
		maxlength: "Bạn chỉ được phép nhập trong khoảng 1000 ký tự"
	    },
	}
    })
    	

    //End validate
});

//;$(function($) {
//    $.movePurposeMessage = function() {
//	// Hack for postPurpose item
//	if ($("label[for='postPurpose']").length > 0) {
//	    $("#purpose").parents('.form-group').append($("label[for='postPurpose']"));
//	    $("label[for='postPurpose']").remove();
//	}
//    }
//})(jQuery);